// pages/appointment/appointment.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    inputValue: '国家一级心理咨询师', // 输入框的值  
    options: ['国家一级心理咨询师', '国家二级心理咨询师', '国家三级心理咨询师'],
    selectedText: '家庭关系', // 输入框的值  
    showPopup: false, // 控制网格是否可见  
    gridItems: ['家庭关系','个体咨询','青少年','精神疾病治疗',
      '成瘾性问题','亲子关系','人际关系','成年人','抑郁症',
      '性相关问题','婚恋感情','压力情绪','职场问题','老年心理',
      '生活问题','儿童心理','心理危机干预','忧郁症','个人成长'], // 网格内容 
      dateTimeString: '', // 输入框显示的日期时间字符串  
      showPicker: false, // 控制弹出层的显示与隐藏  
      currentDateTime: '', // 当前选择的时间，vant datetime-picker 需要的是时间戳或者特定的字符串格式  
      infoText:"" // 情况说明
  },

  // --------------第一块弹出框--------------
  onInputFocus: function(e) {  
    // 弹出选项供用户选择  
    wx.showActionSheet({  
      itemList: this.data.options,  
      success: (res) => {  
        if (res.tapIndex !== wx.hideActionSheet) {  
          // 用户点击了某个选项，不是取消按钮  
          const selectedItem = this.data.options[res.tapIndex];  
          this.setData({  
            inputValue: selectedItem // 更新输入框的值  
          });  
        }  
      }  
    });  
  },
  //-----------第二块弹框,使用vant-popup组件--------------
  showPopup: function() {  
    this.setData({  
      showPopup: true  
    });  
  },  
  
  hidePopup: function() {  
    this.setData({  
      showPopup: false  
    });  
  },  
  
  selectText: function(e) {  
    this.setData({  
      selectedText: e.currentTarget.dataset.text, // 设置输入框的值为点击的网格文本  
      showPopup: false // 隐藏 Popup  
    });  
  },
  //-----------------第三块时间选择器--------------
  showPicker() {  
    this.setData({  
      showPicker: true  
    });  
  },  
  onConfirm(e) {  
    // 用户点击确定后触发  
    // const { value } = e.detail; // 获取用户选择的时间  
    // 将时间转换为 "年-月-日 时:分" 的格式  
    const dateTimeString = this.formatDateTime(e.detail); 
    this.setData({  
      showPicker: false,  
      dateTimeString,  
      currentDateTime: e.detail // 更新当前选择的时间，如果需要的话  
    });  
  },  
  onCancel() {  
    // 用户点击取消后触发  
    this.setData({  
      showPicker: false  
    });  
  },  
  formatDateTime(timestamp) {  
    // 这里假设 timestamp 是时间戳，你需要根据实际情况进行转换  
    const date = new Date(timestamp);  
    const year = date.getFullYear();  
    const month = ('0' + (date.getMonth() + 1)).slice(-2);  
    const day = ('0' + date.getDate()).slice(-2);  
    const hours = ('0' + date.getHours()).slice(-2);  
    const minutes = ('0' + date.getMinutes()).slice(-2); 
    return `${year}-${month}-${day} ${hours}:${minutes}`;  
  },
  // --------------情况说明--------------
  inputInfoText(e) {  
    // 用户点击确定后触发  
    this.setData({
      infoText: e.detail.value
    });
  },  
    // --------------确认提交--------------
    confirm() {
      const that = this.data;
      const url = `/pages/first/shouye/yuyue/sousuo/sousuo?inputValue=${that.inputValue}&selectedText=${that.selectedText}&dateTimeString=${that.dateTimeString}&infoText=${that.infoText}`;
      wx.navigateTo({
        url: url,
      });
    },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})